import request from '@/config/axios'

// 兑换码使用记录 VO
export interface UserAssetsCodeUsageLogVO {
  id: number // 主键ID
  codeId: number // 兑换码ID，关联ai_user_assets_code.id
  code: string // 兑换码
  userId: number // 使用者用户ID
  username: string // 使用者用户名
  userType: number // 用户类型：1-管理员用户，2-会员用户
  userIp: string // 使用者IP地址
  userAgent: string // 浏览器User-Agent信息
  deviceInfo: string // 设备信息JSON格式
  usageTime: Date // 使用时间
  assetsReceived: string // 获得的资源信息JSON格式
  changeId: number // 套餐ID
  changeName: string // 套餐名称
  customerId: number // 客户ID
  customerName: string // 客户名称
  usageResult: number // 使用结果：1-成功，0-失败
  failureReason: string // 失败原因
  traceId: string // 链路追踪ID
}

// 兑换码使用记录 API
export const UserAssetsCodeUsageLogApi = {
  // 查询兑换码使用记录分页
  getUserAssetsCodeUsageLogPage: async (params: any) => {
    return await request.get({ url: `/system/user-assets-code-usage-log/page`, params })
  },

  // 查询兑换码使用记录详情
  getUserAssetsCodeUsageLog: async (id: number) => {
    return await request.get({ url: `/system/user-assets-code-usage-log/get?id=` + id })
  },

  // 新增兑换码使用记录
  createUserAssetsCodeUsageLog: async (data: UserAssetsCodeUsageLogVO) => {
    return await request.post({ url: `/system/user-assets-code-usage-log/create`, data })
  },

  // 修改兑换码使用记录
  updateUserAssetsCodeUsageLog: async (data: UserAssetsCodeUsageLogVO) => {
    return await request.put({ url: `/system/user-assets-code-usage-log/update`, data })
  },

  // 删除兑换码使用记录
  deleteUserAssetsCodeUsageLog: async (id: number) => {
    return await request.delete({ url: `/ai/user-assets-code-usage-log/delete?id=` + id })
  },

  // 导出兑换码使用记录 Excel
  exportUserAssetsCodeUsageLog: async (params) => {
    return await request.download({ url: `/ai/user-assets-code-usage-log/export-excel`, params })
  },
}
